package org.linlinjava.litemall.db.util;

/**
 * @Author zhangdonghao
 * @Date 2020/7/16
 * @Description redisKey管理
 */
public class RedisKey {

    private RedisKey() {
        //私有
    }

    /**
     * 行政区域
     *
     * @param areaCode
     * @return
     */
    public static String getAreaKey(String areaCode) {
        return "area:parent:" + areaCode;
    }


    /**
     * 登陆验证码
     *
     * @param uuid
     * @return
     */
    public static String getLoginImgCodeKey(String uuid) {
        return "login:validateCode:" + uuid;
    }

    // 登陆用户
    public static String getLoginUserKey(String userId) {
        return "login:user:" + userId;
    }

    /**
     * 获取有地理位置的机构redisKey
     *
     * @param areaCode 区县级区划编码
     * @return redisKey
     */
    public static String getDistanceOrgKey(String areaCode) {
        return "org:geo:" + areaCode;
    }

    /**
     * 获取无地理位置的机构的RedisKey
     *
     * @param areaCode
     * @return
     */
    public static String getNoDistanceOrgKey(String areaCode) {
        return "org:no:geo:" + areaCode;
    }

    /**
     * 获取机构缓存的RedisKey
     *
     * @param orgId
     * @return
     */
    public static String getOrgKey(String orgId) {
        return "org:" + orgId;
    }

    /**
     * 需求预约机构疫苗对应关系
     *
     * @param vaccineCode
     * @return
     */
    public static String getNeedOrgKey(String vaccineCode) {
        return "vaccine:need:org:" + vaccineCode;
    }

    /**
     * 登录用户的 jwt token
     *
     * @param onlineKey 各个微服务自行配置的key
     * @param userId    用户ID
     * @return key
     */
    public static String getOnlineJwtTokenKey(String onlineKey, String userId) {
        return onlineKey + userId;
    }

    public static String getSsoJwtTokenKey(String token, String Appcode){
        return token+Appcode;
    }

    public static String getUploadOrgUserKey(String uuid) {
        return "upload:org:user:" + uuid;
    }

}
